Disk drive selecting disturbance signal for feed-forward compensation

ABSTRACT

A disk drive is disclosed comprising a disk, a head, and control circuitry comprising a servo control system operable to actuate the head over the disk. A plurality of disturbance signals is generated in response to a vibration. A plurality of correlations is generated in response to each disturbance signal and an error signal of the servo control system. At least one of the disturbance signals is selected in response to the correlations. A feed-forward compensation value is generated in response to the selected disturbance signal, and the feed-forward compensation value is applied to the servo control system to compensate for the vibration.

BACKGROUND

Disk drives comprise a disk and a head connected to a distal end of anactuator arm which is rotated about a pivot by a voice coil motor (VCM)to position the head radially over the disk. The disk comprises aplurality of radially spaced, concentric tracks for recording user datasectors and embedded servo sectors. The embedded servo sectors comprisehead positioning information (e.g., a track address) which is read bythe head and processed by a VCM servo controller to control the velocityof the actuator arm as it seeks from track to track.

FIG. 1 shows a prior art disk format 2 comprising a number of servotracks 4 defined by concentric servo sectors 6 ₀-6 _(N) recorded aroundthe circumference of each servo track, wherein data tracks are definedrelative to the servo tracks 4. Each servo sector 6 _(i) comprises apreamble 8 for storing a periodic pattern, which allows proper gainadjustment and timing synchronization of the read signal, and a syncmark 10 for storing a special pattern used to synchronize to a servodata field 12. The servo data field 12 stores coarse head positioninginformation, such as a servo track address, used to position the headover a target data track during a seek operation. Each servo sector 6_(i) further comprises groups of servo bursts 14 (e.g., A, B, C and Dbursts), which comprise a number of consecutive transitions recorded atprecise intervals and offsets with respect to a data track centerline.The groups of servo bursts 14 provide fine head position informationused for centerline tracking while accessing a data track duringwrite/read operations.

An air bearing forms between the head and the disk due to the diskrotating at high speeds. Since the quality of the write/read signaldepends on the fly height of the head, conventional heads (e.g., amagnetoresistive heads) may comprise an actuator for controlling the flyheight. Any suitable fly height actuator may be employed, such as aheater which controls fly height through thermal expansion, or apiezoelectric (PZT) actuator. A dynamic fly height (DFH) servocontroller may measure the fly height of the head and adjust the flyheight actuator to maintain a target fly height during write/readoperations.

Certain conditions may affect the ability of the VCM servo controller tomaintain the head along the centerline of a target data track and/or theability of the DFH servo controller to maintain the target fly height.For example, an external vibration applied to the disk drive ordegradation and/or malfunction of the spindle motor that rotates thedisks may induce a disturbance in the servo control systems. Thedegradation caused by such a disturbance may be ameliorated using afeed-forward compensation algorithm.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a prior art disk format comprising a plurality of servotracks defined by embedded servo sectors.

FIG. 2A shows a disk drive according to an embodiment of the presentinvention comprising a head actuated over a disk by a servo controlsystem.

FIG. 2B is a flow diagram according to an embodiment of the presentinvention wherein a plurality of disturbance signals are correlated withan error signal in order to select at least one disturbance signal forfeed-forward compensation.

FIG. 3A shows a servo control system according to an embodiment of thepresent invention including feed-forward compensation generated from aselected disturbance signal.

FIG. 3B shows a servo control system according to an embodiment of thepresent invention including feed-forward compensation generated from aplurality of selected disturbance signals.

FIG. 4 shows an equation for correlating a disturbance signal with theerror signal according to an embodiment of the present invention.

FIG. 5 is a flow diagram according to an embodiment of the presentinvention wherein at least one of a gain and phase of at least one ofthe disturbance signal and the error signal is adjusted prior tocomputing the correlation.

FIG. 6A shows an embodiment of the present invention for generating thefeed-forward compensation values from a selected disturbance signal.

FIG. 6B shows an embodiment of the present invention for generating thefeed-forward compensation values from a plurality of selecteddisturbance signals.

FIG. 7A shows an embodiment of the present invention wherein thedisturbance signal selection is based on a residual error afterperforming feed-forward compensation of the servo control system.

FIG. 7B shows an embodiment of the present invention wherein thedisturbance signal selection is based on a residual error afterperforming feed-forward compensation of a model of at least part of theservo control system.

FIG. 8 shows an embodiment of the present invention wherein adisturbance observer generates the error signal of the servo controlsystem that is used to select the optimal disturbance signal(s) forfeed-forward compensation.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

FIG. 2A shows a disk drive according to an embodiment of the presentinvention comprising a disk 16, a head 18, and control circuitry 20comprising a servo control system operable to actuate the head 18 overthe disk 16. The control circuitry 20 executes the flow diagram of FIG.2B, wherein a plurality of disturbance signals is generated in responseto a vibration (step 22). A plurality of correlations is generated inresponse to each disturbance signal and an error signal of the servocontrol system (step 24). At least one of the disturbance signals isselected in response to the correlations (step 26). A feed-forwardcompensation value is generated in response to the selected disturbancesignal (step 28), and the feed-forward compensation value is applied tothe servo control system to compensate for the vibration (step 30).

In the embodiment of FIG. 2A, the disk 16 comprises embedded servosectors 32 ₀-32 _(N) that define a plurality of servo tracks 34. Thecontrol circuitry 20 processes a read signal 36 emanating from the head18 to demodulate the servo sectors 32 ₀-32 _(N) and generate a positionerror signal (PES) representing an error between the actual position ofthe head and a target position relative to a target track. The controlcircuitry 20 filters the PES using a suitable compensation filter togenerate a control signal 38 applied to a voice coil motor (VCM) 40which rotates an actuator arm 42 about a pivot in order to actuate thehead 18 radially over the disk in a direction that reduces the PES. Theservo sectors 32 ₀-32 _(N) may comprise any suitable positioninformation, such as a track address for coarse positioning and servobursts for fine positioning. The servo bursts may comprise any suitablepattern, such as the amplitude-based servo pattern shown in FIG. 1, or asuitable phase-based servo pattern.

In one embodiment, the disk drive comprises a suitable microactuator,such as a suitable piezoelectric actuator, for actuating the head 18 infine movements radially over the disk 16. The microactuator may beimplemented in any suitable manner, such as a microactuator thatactuates a suspension relative to the actuator arm 42, or amicroactuator that actuates a head gimbal relative to the suspension. Inone embodiment, feed-forward compensation values may be generated inresponse to a selected disturbance signal for use in the microactuatorservo control system in addition to, or instead of, generatingfeed-forward compensation values for the VCM servo control system.

In one embodiment, the head 18 may comprise a suitable fly heightactuator, such as a heater or a piezoelectric actuator, operable toactuate the head vertically over the disk in order to maintain a targetfly height. The control circuitry 20 may comprise a servo control systemoperable to compare a measured fly height to a target fly height togenerate a fly height error used to generate a dynamic fly height (DFH)control signal 44 (FIG. 2A) similar to the servo control system thatcontrols the radial position of the head. In one embodiment,feed-forward compensation values are generated in response to a selecteddisturbance signal for use in the fly height servo control system.

An external vibration applied to the disk drive or degradation and/ormalfunction of the spindle motor that rotates the disks may induce adisturbance in one or more of the servo control systems that actuate thehead over the disk (radially or vertically). Using a suitable sensor adisturbance signal can be generated that represents the disturbance;however, since the disturbance may be caused by a number of differentsources, in embodiments of the present invention a number of sensors areemployed each corresponding to a possible source of vibration. Thedisturbance signals generated by the sensors are evaluated in order toselect the optimal disturbance signal(s), that is, the disturbancesignal(s) that best represent(s) the actual vibration. In the embodimentof FIG. 2B, the disturbance signal having the best correlation with anerror signal in the servo control system is selected to generate thefeed-forward compensation values. In other embodiments described belowwith reference to FIG. 7A and 7B, the disturbance signal that generatesa smallest residual error (after feed-forward compensation) is selectedto generate the feed-forward compensation values applied to the actualservo control system.

FIG. 3A shows a servo control system according to an embodiment of thepresent invention, including to select a disturbance signal based on acorrelation with an error signal in the servo control system. A suitableactuator 46 (radial or vertical) actuates the head 18 over the disk 16in response to an actuator control signal 48. An estimated position 50of the head 18 is subtracted from a reference position 52 to generate anerror signal 54. A suitable compensator 56 processes the error signal 54to generate a control signal 58 that is combined with a feed-forwardcompensation value 60 to generate the actuator control signal 48. Aplurality of correlators 62 ₁-62 _(N) correlate the error signal 54 withrespective disturbance signals 64 ₁-64 _(N). A selector 66 applies thedisturbance signal 64 _(i) that best correlates with the error signal 54to a feed-forward algorithm 68 that generates the feed-forwardcompensation values 60 that compensate for the vibration disturbing theservo control system.

Any suitable sensor may be used to generate the disturbance signals 64₁-64 _(N) in the embodiments of the present invention, including anelectronic sensor and/or a sensor implemented in firmware. FIG. 3B showsan embodiment wherein the sensors include a first electrical sensor 70 ₁(e.g., an accelerometer) for generating a first disturbance signal 64 ₁representing a linear vibration, and a second electrical sensor 70 ₂ forgenerating a second disturbance signal 64 ₂ representing a rotationalvibration. Also in this embodiment a firmware sensor 70 _(N) generates adisturbance signal 64 _(N), for example, in response to the read signal36 emanating from the head, or in response to a back electromotive force(BEMF) signal generated by the VCM 40 or a spindle motor that rotatesthe disk 16, or in response to any other suitable signal that may affectthe servo control system(s).

FIG. 3B also illustrates an embodiment wherein the selector 66 may applya plurality of the disturbance signals (M disturbance signals) to thefeed-forward algorithm for generating the feed-forward compensationvalues 60. For example, the selector 66 may select the best M out of theN disturbance signals, or the M disturbance signals that satisfy aselection criteria (e.g., exceed a threshold).

Any suitable algorithm may be employed by the correlators 62 ₁-62 _(N)to correlate the disturbance signals 64 ₁-64 _(N) with the error signal54. FIG. 4 shows an example correlation algorithm where e represents theerror signal and x represents the disturbance signal. Other embodimentsmay employ a different algorithm to compute the correlation, such ascomputing a Euclidean Distance between the error signal and thedisturbance signals.

In an embodiment illustrated in the flow diagram of FIG. 5, the gain ofat least one of each disturbance signal and the error signal may beadjusted (step 72) prior to performing the correlation (step 24). In oneembodiment, the gain may be adjusted to a number of different values foreach disturbance signal and the corresponding correlation computed. Alsoin the embodiment of FIG. 5, the phase of at least one of eachdisturbance signal and the error signal may be adjusted (step 72) priorto performing the correlation (step 24). For example, the phase may beadjusted to a number of different values for each disturbance signal andthe corresponding correlation computed. The disturbance signal(s) thatbest correlates with the error signal at each of the amplitude and phasevalues is selected to generate the feed-forward compensation valuesapplied to the servo control system. In an alternative embodiment, thecorrelation is computed as a normalized correlation (e.g., using theequation shown in FIG. 4) to account for a difference in gain betweeneach disturbance signal and the error signal.

Any suitable algorithm may be employed to generate the feed-forwardcompensation values in response to the selected disturbance signal. FIG.6A shows an embodiment of the present invention for adaptivelygenerating feed-forward compensation values. The selected disturbancesignal S1 64 _(i) comprises a sequence of digital values x(n) that isfiltered by a finite impulse response (FIR) filter 76 to generatefeed-forward compensation values y(n) 60 applied to the plant C 80representing the actuator 46. The output y_(c)(n) 50 of the plant C 80is subtracted from a reference to generate an error signal e(n) 54(e.g., the PES of the VCM servo control system). The digital values x(n)of the selected disturbance signal S1 64 _(i) are applied to a model C*84 of the plant C 80 to generate a sequence of digital values X_(c)*(n)86 representing the estimated effect the digital values x(n) 74 have onthe plant C 80. An adaptive algorithm 88 processes the digital valuesX_(c)*(n) 86 and the error signal e(n) 54 in order to adapt the FIRfilter 76 toward a state that minimizes the error signal e(n) 54. In oneembodiment, the goal is to minimize a cost function J(n)=E[e(n)²],where:

y(n) = w^(T)(n)x(n) e(n) = d(n) − y_(c)(n)${x_{c^{*}}(n)} = \begin{bmatrix}{\sum\limits_{i = 0}^{I - 1}{c_{i}^{*}{x( {n - i} )}}} \\{\sum\limits_{i = 0}^{I - 1}{c_{i}^{*}{x( {n - i - 1} )}}} \\\vdots \\{\sum\limits_{i = 0}^{I - 1}{c_{i}^{*}{x( {n - i - M - 1} )}}}\end{bmatrix}$

In the above equations, d(n) represents the reference signal an wrepresents the vector of coefficients in the FIR filter 76. To find theoptimal coefficients of the FIR filter the gradient method is used asdescribed by:

∇_(w(n)) J(n)=2E[e(n)∇_(w(n)) e(n)]

which results in

w(n+1)=γw(n)+μx _(x) ₊ (n)e(n)

where γ represents the leakage factor and μ represents the step size.The above described adaption algorithm is based on a known filtered-XLMS algorithm. However, the feed-forward compensation values may begenerated using any suitable algorithm.

FIG. 6B shows an embodiment of the present invention wherein thefeed-forward compensation values are generated in response to twoselected disturbance signals S1 and S2. The embodiment of FIG. 6B usesthe same adaptive feed-forward algorithm as in FIG. 6A for each of thedisturbance signals S1 and S2, and the outputs of the respective FIRfilters 76 ₁ and 76 ₂ are combined 78 to generate the feed-forwardcompensation values 60 applied to the actuator 46 (the plant 80).

In another embodiment of the present invention, the optimal disturbancesignal(s) that will optimize the feed-forward compensation are selectedby evaluating a residual error of the servo control system. Firstfeed-forward compensation values are generated in response to a firstdisturbance signal and an error signal of the servo control system. Afirst residual error is generated in response to the first feed-forwardcompensation values and an output of the servo control system. Secondfeed-forward compensation values are generated in response to a seconddisturbance signal and the error signal of the servo control system. Asecond residual error is generated in response to the secondfeed-forward compensation values and the output of the servo controlsystem. At least one of the disturbance signals is selected in responseto the first and second residual errors. Third feed-forward compensationvalues are generated in response to the selected disturbance signal, andthe third feed-forward compensation values are applied to the servocontrol system to compensate for a vibration.

FIG. 7A shows an embodiment of the present invention for selecting thedisturbance signal(s) that will optimize the feed-forward compensationbased on a residual error of the servo control system. In thisembodiment, each of the disturbance signals 64 ₁-64 _(N) is selected 82one at a time (by configuring multiplexer 83) and used to generate 68the feed-forward compensation values 60 applied to the servo controlsystem. A residual error is generated based on the error signal 54 afterperforming feed-forward compensation for a period of time. Afterselecting each disturbance signal to generate the feed-forwardcompensation values 60 and generating a corresponding residual error,the disturbance signal(s) that generates the smallest residual error isselected 82 to generate 68 the feed-forward compensation values 60during normal operation.

FIG. 7B shows an alternative embodiment of the present invention forselecting the disturbance signal(s) that will optimize the feed-forwardcompensation based on a residual error of the servo control system. Inthis embodiment, first feed-forward compensation values 90 ₁ aregenerated in response to a first disturbance signal 64 ₁ and an errorsignal 54 of the servo control system. The first feed-forwardcompensation values 90 ₁ are applied to a model 92 of at least part ofthe servo control system to generate a first model output 94 ₁. A firstresidual error 96 ₁ is generated in response to an output 50 of theservo control system and the first model output 94 ₁. Secondfeed-forward compensation values 90 ₂ are generated in response to asecond disturbance signal 64 ₂ and the error signal 54 of the servocontrol system. The second feed-forward compensation values 90 ₂ areapplied to the model 92 of at least part of the servo control system togenerate a second model output 94 ₂. A second residual error 96 ₂ isgenerated in response to the output 50 of the servo control system andthe second model output 94 ₂. At least one of the disturbance signals 64₁-64 _(N) is selected 98 in response to the residual errors 94 ₁-94_(N). A feed-forward compensation value 60 is generated in response tothe selected disturbance signal 64 _(i), and the feed-forwardcompensation value 60 is applied to the servo control system tocompensate for a vibration.

In the embodiment of FIG. 7B, the feed-forward compensation values 90₁-90 _(N) generated by the feed-forward algorithms 100 ₁-100 _(N) drivethe model outputs 94 ₁-94 _(N) toward the output of the servo system 50.The disturbance signal(s) that correlate well with the error signal 54will generate the model output 94 closest to the output 50 of the servocontrol system, thereby minimizing the residual error 96. Accordingly,in one embodiment the disturbance signal that generates the smallestresidual error 96, or the M disturbance signals that generate a residualerror 96 smaller than a threshold, are selected to generate thefeed-forward compensation values 60 applied to the servo control system.

In one embodiment, when executing the algorithm for selecting thedisturbance signals 64 ₁-64 _(N), the feed-forward compensation of theservo control system is disabled. With the feed-forward compensationdisabled, the effect of a vibration on the servo control system willmanifest directly in the error signal 54 so that, for example, each ofthe disturbance signals 64 ₁-64 _(N) may be correlated directly with theerror signal 54 as illustrated in the embodiment of FIG. 3A. Afterselecting the optimal disturbance signal(s) in response to thecorrelations, the feed-forward compensation is enabled using theselected disturbance signal(s).

In another embodiment, the feed-forward compensation is enabled whileevaluating the disturbance signals 64 ₁-64 _(N). For example, a firstdisturbance signal may be selected for feed-forward compensation whilethe disk drive is subjected to a first type of vibration. Over time thetype of vibration may change (due a change in operating conditions) sothat the first disturbance signal may no longer correlate well with theerror signal 54. Accordingly, in one embodiment the control circuitrymay execute the algorithm for selecting the disturbance signals 64 ₁-64_(N) while the disk drive is operating normally, and change the selecteddisturbance signal(s) over time to adapt to changes in operatingconditions. However, when the feed-forward compensation is enabled therewill be at least some compensation of a different vibration using thecurrently selected disturbance signal. Therefore, in an embodiment shownin FIG. 8 a disturbance observer 102 may be employed to estimate theeffect of a vibration on the servo control system. The disturbanceobserver 102 evaluates the control signal 48 applied to the actuator 46in order to estimate the degree to which the feed-forward compensationis compensating for the current vibration. The degree to which thefeed-forward compensation is not compensating for the vibration will bereflected as a residual error in the error signal 54. The disturbanceobserver 102 combines these signals to generate an error signal 104 thatis used by the disturbance signal selection algorithm 106 to change theselected disturbance signal(s) over time to account for changes in thevibrations.

Any suitable control circuitry may be employed to implement the flowdiagrams in the embodiments of the present invention, such as anysuitable integrated circuit or circuits. For example, the controlcircuitry may be implemented within a read channel integrated circuit,or in a component separate from the read channel, such as a diskcontroller, or certain steps described above may be performed by a readchannel and others by a disk controller. In one embodiment, the readchannel and disk controller are implemented as separate integratedcircuits, and in an alternative embodiment they are fabricated into asingle integrated circuit or system on a chip (SOC). In addition, thecontrol circuitry may include a suitable preamp circuit implemented as aseparate integrated circuit, integrated into the read channel or diskcontroller circuit, or integrated into an SOC.

In one embodiment, the control circuitry comprises a microprocessorexecuting instructions, the instructions being operable to cause themicroprocessor to perform the steps of the flow diagrams describedherein. The instructions may be stored in any computer-readable medium.In one embodiment, they may be stored on a non-volatile semiconductormemory external to the microprocessor, or integrated with themicroprocessor in a SOC. In another embodiment, the instructions arestored on the disk and read into a volatile semiconductor memory whenthe disk drive is powered on. In yet another embodiment, the controlcircuitry comprises suitable logic circuitry, such as state machinecircuitry.

What is claimed is:
 1. A disk drive comprising: a disk; a head; andcontrol circuitry comprising a servo control system operable to actuatethe head over the disk, the control circuitry operable to: generate aplurality of disturbance signals in response to a vibration; generate aplurality of correlations in response to each disturbance signal and anerror signal of the servo control system; select at least one of thedisturbance signals in response to the correlations; generate afeed-forward compensation value in response to the selected disturbancesignal; and apply the feed-forward compensation value to the servocontrol system to compensate for the vibration.
 2. The disk drive asrecited in claim 1, wherein the servo control system actuates the headradially over the disk.
 3. The disk drive as recited in claim 2, whereinthe error signal represents a difference between a measured radiallocation and a reference radial location.
 4. The disk drive as recitedin claim 1, wherein the servo control system actuates the headvertically over the disk.
 5. The disk drive as recited in claim 4,wherein the error signal represents a difference between a measured flyheight and a reference fly height.
 6. The disk drive as recited in claim1, wherein the control circuitry comprises an electrical sensor operableto generate at least one of the disturbance signals.
 7. The disk driveas recited in claim 6, wherein the control circuitry comprises: a firstelectrical sensor operable to generate a first disturbance signalrepresenting a linear vibration; and a second electrical sensor operableto generate a second disturbance signal representing a rotationalvibration.
 8. The disk drive as recited in claim 1, wherein the controlcircuitry is operable to generate at least one of the disturbancesignals in response to a read signal emanating from the head.
 9. Thedisk drive as recited in claim 1, wherein the control circuitry isoperable to correlate a first disturbance signal with the error signalaccording to:${Rex} = \frac{e^{T} \cdot x}{\sqrt{e^{T} \cdot e}\sqrt{x^{T} \cdot x}}$where: e represents the error signal; and x represents the firstdisturbance signal.
 10. The disk drive as recited in claim 1, whereinthe control circuitry is operable to adjust at least one of a gain andphase of at least one of each disturbance signal and the error signalprior to correlating each disturbance signal with an error signal. 11.The disk drive as recited in claim 1, wherein the control circuitry isfurther operable to: select a plurality of the disturbance signals inresponse to the correlation generated for each disturbance signal; andgenerate the feed-forward compensation value in response to the selecteddisturbance signals.
 12. A disk drive comprising: a disk; a head; andcontrol circuitry comprising a servo control system operable to actuatethe head over the disk, the control circuitry operable to: generate aplurality of disturbance signals in response to a vibration, including afirst disturbance signal and a second disturbance signal; generate firstfeed-forward compensation values in response to the first disturbancesignal and an error signal of the servo control system; generate a firstresidual error in response to the first feed-forward compensation valuesand an output of the servo control system; generate second feed-forwardcompensation values in response to the second disturbance signal and theerror signal of the servo control system; generate a second residualerror in response to the second feed-forward compensation values and theoutput of the servo control system; select at least one of thedisturbance signals in response to the first and second residual errors;generate third feed-forward compensation values in response to theselected disturbance signal; and apply the third feed-forwardcompensation value to the servo control system to compensate for thevibration.
 13. The disk drive as recited in claim 12, wherein thecontrol circuitry is operable to select the disturbance signal thatgenerates the smallest residual error.
 14. The disk drive as recited inclaim 12, wherein the control circuitry is further operable to: applythe first feed-forward compensation values to a model of at least partof the servo control system to generate a first model output; generatethe first residual error in response to the output of the servo controlsystem and the first model output; apply the second feed-forwardcompensation values to the model of at least part of the servo controlsystem to generate a second model output; and generate the secondresidual error in response to the output of the servo control system andthe second model output.
 15. The disk drive as recited in claim 12,wherein the servo control system actuates the head radially over thedisk.
 16. The disk drive as recited in claim 15, wherein the errorsignal represents a difference between a measured radial location and areference radial location.
 17. The disk drive as recited in claim 12,wherein the servo control system actuates the head vertically over thedisk.
 18. The disk drive as recited in claim 17, wherein the errorsignal represents a difference between a measured fly height and areference fly height.
 19. The disk drive as recited in claim 12, whereinthe control circuitry comprises an electrical sensor operable togenerate at least one of the disturbance signals.
 20. The disk drive asrecited in claim 19, wherein the control circuitry comprises: a firstelectrical sensor operable to generate a first disturbance signalrepresenting a linear vibration; and a second electrical sensor operableto generate a second disturbance signal representing a rotationalvibration.
 21. The disk drive as recited in claim 12, wherein thecontrol circuitry is operable to generate at least one of thedisturbance signals in response to a read signal emanating from thehead.
 22. The disk drive as recited in claim 12, wherein the controlcircuitry is further operable to: select a plurality of the disturbancesignals in response to the residual error generated for each disturbancesignal; and generate the feed-forward compensation value in response tothe selected disturbance signals.
 23. A method of operating a disk drivecomprising a disk, a head, and a servo control system operable toactuate the head over the disk, the method comprising: generating aplurality of disturbance signals in response to a vibration; generatinga plurality of correlations in response to each disturbance signal andan error signal of the servo control system; selecting at least one ofthe disturbance signals in response to the correlations; generating afeed-forward compensation value in response to the selected disturbancesignal; and applying the feed-forward compensation value to the servocontrol system to compensate for the vibration.
 24. The method asrecited in claim 23, wherein the servo control system actuates the headradially over the disk.
 25. The method as recited in claim 24, whereinthe error signal represents a difference between a measured radiallocation and a reference radial location.
 26. The method as recited inclaim 23, wherein the servo control system actuates the head verticallyover the disk.
 27. The method as recited in claim 26, wherein the errorsignal represents a difference between a measured fly height and areference fly height.
 28. The method as recited in claim 23, wherein thedisk drive comprises an electrical sensor operable to generate at leastone of the disturbance signals.
 29. The method as recited in claim 28,wherein the disk drive comprises: a first electrical sensor operable togenerate a first disturbance signal representing a linear vibration; anda second electrical sensor operable to generate a second disturbancesignal representing a rotational vibration.
 30. The method as recited inclaim 23, further comprising generating at least one of the disturbancesignals in response to a read signal emanating from the head.
 31. Themethod as recited in claim 23, further comprising correlating a firstdisturbance signal with the error signal according to:${Rex} = \frac{e^{T} \cdot x}{\sqrt{e^{T} \cdot e}\sqrt{x^{T} \cdot x}}$where: e represents the error signal; and x represents the firstdisturbance signal.
 32. The method as recited in claim 23, furthercomprising adjusting at least one of a gain and phase of at least one ofeach disturbance signal and the error signal prior to correlating eachdisturbance signal with an error signal.
 33. The method as recited inclaim 23, further comprising: selecting a plurality of the disturbancesignals in response to the correlation generated for each disturbancesignal; and generating the feed-forward compensation value in responseto the selected disturbance signals.
 34. A method of operating a diskdrive comprising a disk, a head, and a servo control system operable toactuate the head over the disk, the method comprising: generating aplurality of disturbance signals in response to a vibration, including afirst disturbance signal and a second disturbance signal; generatingfirst feed-forward compensation values in response to the firstdisturbance signal and an error signal of the servo control system;generating a first residual error in response to the first feed-forwardcompensation values and an output of the servo control system;generating second feed-forward compensation values in response to thesecond disturbance signal and the error signal of the servo controlsystem; generating a second residual error in response to the secondfeed-forward compensation values and the output of the servo controlsystem; selecting at least one of the disturbance signals in response tothe first and second residual errors; generating third feed-forwardcompensation values in response to the selected disturbance signal; andapplying the third feed-forward compensation value to the servo controlsystem to compensate for the vibration.
 35. The method as recited inclaim 34, further comprising selecting the disturbance signal thatgenerates the smallest residual error.
 36. The method as recited inclaim 34, further comprising: applying the first feed-forwardcompensation values to a model of at least part of the servo controlsystem to generate a first model output; generating the first residualerror in response to the output of the servo control system and thefirst model output; applying the second feed-forward compensation valuesto the model of at least part of the servo control system to generate asecond model output; and generating the second residual error inresponse to the output of the servo control system and the second modeloutput.
 37. The method as recited in claim 34, wherein the servo controlsystem actuates the head radially over the disk.
 38. The method asrecited in claim 37, wherein the error signal represents a differencebetween a measured radial location and a reference radial location. 39.The method as recited in claim 34, wherein the servo control systemactuates the head vertically over the disk.
 40. The method as recited inclaim 39, wherein the error signal represents a difference between ameasured fly height and a reference fly height.
 41. The method asrecited in claim 34, wherein the disk drive comprises an electricalsensor operable to generate at least one of the disturbance signals. 42.The method as recited in claim 41, wherein the disk drive comprises: afirst electrical sensor operable to generate a first disturbance signalrepresenting a linear vibration; and a second electrical sensor operableto generate a second disturbance signal representing a rotationalvibration.
 43. The method as recited in claim 34, further comprisinggenerating at least one of the disturbance signals in response to a readsignal emanating from the head.
 44. The method as recited in claim 34,further comprising: selecting a plurality of the disturbance signals inresponse to the residual error generated for each disturbance signal;and generating the feed-forward compensation value in response to theselected disturbance signals.